| Автор перевода: Майкл "Antares" Клишин | Предыдущая | Следующая | Оглавление |
Flash Player 6.
my_mc.beginGradientFill(fillType:String, colors:Array, alphas:Array, ratios:Array, matrix:Object) : Void
fillType Либо строка "linear", либо "radial".
colors Массив цветов в шестнадцатеричной RGB форме, используемых в градиенте (например, красный представляется как 0xFF0000, синий — как 0x0000FF, и т.д.).
alphas Массив значений прозрачности соответствующих цветов в массиве colors, допустимыми значениями являются значения от 0 до 100. Если значение меньше 0, Flash использует 0. Если же больше 100, Flash использует 100.
ratios Массив коэффециентов распределения цветов; каждый коэффициент может принимать значения в промежутке 0–255. Коэффициент определяет ширину в процентах, на которой цвет отображается без смешения.
matrix Матрица преобразований, представляющая из себя объект с одним из следующих наборов свойств:
a, b, c, d, e, f, g, h, i, которые используются для описания матрицы размерности 3 x 3:
a b c d e f g h i
В примере ниже при использовании метода beginGradientFill() параметру matrix передается объект с этими свойствами.
this.createEmptyMovieClip("gradient_mc", 1);
with (gradient_mc) {
colors = [0xFF0000, 0x0000FF];
alphas = [100, 100];
ratios = [0, 0xFF];
matrix = {a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1};
beginGradientFill("linear", colors, alphas, ratios, matrix);
moveTo(100, 100);
lineTo(100, 300);
lineTo(300, 300);
lineTo(300, 100);
lineTo(100, 100);
endFill();
}
Если свойство matrixType не определено, все остальные параметры обязательны; метод не работает, если какой-либо из них опущен. Эта матрица маштабирует, пересчитывает (translate), вращает и наклоняет (skew) блок градиента, который определен в (-1,-1) и (1,1).

matrixType, x, y, w, h, r.
Свойства означают следующее: matrixType есть строка "box", т.е. контейнер, x есть горизонтальная позиция относительно точки регистрации мувиклипа-родителя для
верхнего левого угла градиента, y есть вертикальная позиция относительно точки регистрации мувиклипа-родителя относительно левого верзнего угла градиента, w есть ширина градиента, h есть высота градиента и r есть поворот градиента в радианах.
В примере ниже при использовании метода beginGradientFill() параметру matrix передается объект с этими параметрами.
this.createEmptyMovieClip("gradient_mc", 1);
with (gradient_mc) {
colors = [0xFF0000, 0x0000FF];
alphas = [100, 100];
ratios = [0, 0xFF];
matrix = {matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI};
beginGradientFill("linear", colors, alphas, ratios, matrix);
moveTo(100, 100);
lineTo(100, 300);
lineTo(300, 300);
lineTo(300, 100);
lineTo(100, 100);
endFill();
}
Если свойство matrixType существует, оно должно иметь значение "box", при этом все остальные параметры являются обязательными. При невыполнении этих условий функция не работает.

Ничего.
Метод; обозначает начало рисования нового контура (path). If the first parameter is undefined, or if no parameters are passed, the path has no fill. Если открытый контур уже существует (то есть, текущая позиция "пера" не совпадает с предыдущей, установленной методом MovieClip.moveTo() и с ним связана какая-либо заливка, путь замыкается прямой линией, а затем заливается. То же самое происходет при вызове метода MovieClip.endFill().
Метод не работает, если выполняется одно из нижеследующих условий:
colors, alphas и ratios не равно.fillType имеет значение, отличное от "linear" или "radial". matrix опущены или имеют некорректное значение.Вы можете расширять методы и обработчики событий класса MovieClip, создавая его подклассы. Для более подробной информации смотри "Присвоение класса мувиклип-символу " в Использовании ActionScript во Flash.
В коде ниже оба метода градиентной заливки используются для рисования двух пересекающихся прямоугольников с красно-синей градиентной заливкой и 5-пиксельной сплошной зеленой обводкой:
this.createEmptyMovieClip("gradient_mc", 1);
with (gradient_mc) {
colors = [0xFF0000, 0x0000FF];
alphas = [100, 100];
ratios = [0, 0xFF];
lineStyle(5, 0x00ff00);
matrix = {a:500, b:0, c:0, d:0, e:200, f:0, g:350, h:200, i:1};
beginGradientFill("linear", colors, alphas, ratios, matrix);
moveTo(100, 100);
lineTo(100, 300);
lineTo(600, 300);
lineTo(600, 100);
lineTo(100, 100);
endFill();
matrix = {matrixType:"box", x:100, y:310, w:500, h:200, r:(0/180)*Math.PI};
beginGradientFill("linear", colors, alphas, ratios, matrix);
moveTo(100, 310);
lineTo(100, 510);
lineTo(600, 510);
lineTo(600, 310);
lineTo(100, 310);
endFill();
}

MovieClip.beginFill(),MovieClip.endFill(),MovieClip.lineStyle(),MovieClip.lineTo(),MovieClip.moveTo()
| Посмотреть комментарии LiveDocs | Предыдущая | Следующая | Оглавление | |